İçeriğe atla

Ken Thompson

Vikipedi, özgür ansiklopedi
Ken Thompson
Doğum4 Şubat 1943 (81 yaşında)
New Orleans, Louisiana, ABD
MilliyetAmerikan
EğitimKaliforniya Üniversitesi, Berkeley
Tanınma nedeni
Kariyeri
DalıBilgisayar bilimi
Çalıştığı kurumlarBell Labs
Entrisphere, Inc
Google Inc.

Kenneth Lane Thompson (doğum 4 Şubat 1943) Amerikalı bir bilgisayar bilimcisi.Thompson, kariyerinin büyük bir bölümünde orijinal Unix işletim sistemini tasarlayıp uyguladığı Bell Labs'ta çalıştı. Ayrıca C programlama dilinin doğrudan selefi olan B programlama dilini de icat etti. Bununla beraber Plan 9 işletim sisteminin yaratıcılarından ve ilk geliştiricilerinden biriydi. Thompson, 2006'dan beri Go programlama dilini birlikte icat ettiği Google'da çalışmaktadır.

Diğer dikkate değer katkıları arasında düzenli ifadeler üzerine yaptığı çalışmalar ve ilk bilgisayar metin editörleri olan QED ve ed, UTF-8 karakter kodlamasının tanımı, satrançta oyun sonu tabloları ve satranç makinesi Belle'nin de içerisinde bulunduğu satranç üzerine çalışmaları vardır.

Hayatın erken dönemi ve eğitim

[değiştir | kaynağı değiştir]

Thompson, New Orleans'ta doğdu. Thompson, programlamayı nasıl öğrendiği sorulduğunda, "Mantıktan her zaman etkilenmiştim ve ilkokulda bile ikili aritmetik problemler üzerinde çalışıyordum, bunun gibi şeyler. Sadece büyülendiğim için."[1] demiştir.

Thompson, UC Berkeley'den 1965'te Lisans ve 1966'da Yüksek Lisans derecesi aldı ve burada yüksek lisans tezi danışmanı Elwyn Berlekamp oldu.[2]

Kariyeri ve araştırmaları

[değiştir | kaynağı değiştir]
DEC PDP-7, Unix üzerinde ilk çalışma için kullanıldığı şekliyle

Thompson, 1966'da Bell Labs tarafından işe alındı. 1960'larda Bell Labs'ta Thompson ve Dennis Ritchie, Multics işletim sistemi üzerinde çalıştılar.[3] Thompson, Multics'i yazarken aynı zamanda Bon programlama dilini geliştirdi ve Ayrıca Space Travel (Uzay Yolculuğu) adlı bir video oyunu da yaptı. Daha sonra Bell Labs, MULTICS projesinden çekildi. Thompson, oyunu oynamaya devam etmek için eski bir PDP-7 makinesi buldu ve bunun üzerine Space Travel'i yeniden yazdı.[4] Sonunda, Thompson tarafından geliştirilen araçlar Unix işletim sistemi haline geldi: Thompson ve Ritchie liderliğindeki aralarında Rudd Canaday'ın da bulunduğu bir ekip hiyerarşik dosya sistemi, komut satırı yorumlayıcısı ve yardımcı küçük programlar geliştirdi. 1970 yılında Brian Kernighan, "MULTICS" kelimesi üzerinde bir kelime oyunu yaparak "Unix" adını önerdi. Unix üzerindeki ilk çalışmasının ardından Thompson, Unix'in bir sistem programlama diline ihtiyaç duyduğuna karar verdi ve Ritchie'nin C'sinin öncüsü olan B'yi geliştirdi.[5]

1960'larda, Thompson ayrıca düzenli ifadeler üzerinde çalışmaya başladı. Thompson, QED editörünün içinde düzenli ifadeler ile metin arama özelliği de olan CTSS versiyonunu geliştirdi. QED ve Thompson'un ed'den (Unix'teki standart metin editörü) sonraki editörü, düzenli ifadelerin popülaritesine büyük katkıda bulundu ve düzenli ifadeler Unix metin işleme programlarında yaygınlaştı. Bugün düzenli ifadelerle çalışan hemen hemen tüm programlar, Thompson'un gösterimlerinin bazı varyantlarını kullanır. Ayrıca, ifade eşleşmesini daha hızlı hale getirmek için kullanılan Thompson'ın yapım algoritmasını da icat etti.

SIMH PDP-11 simülatöründe "/usr/ken" dizini Sürüm 6 Unix üzerinde çalışıyor

1970'ler boyunca, Thompson ve Ritchie, Unix işletim sistemi üzerinde birlikte çalıştı. 2011 yılında yapılan bir röportajda Thompson, Unix'in ilk sürümlerinin kendisi tarafından yazıldığını ve sonra Ritchie'nin sistemi desteklemeye başladığını ve geliştirilmesine yardımcı olduğunu belirtti.

UNIX'in iki veya üç versiyonunun ilkini tek başıma yaptım. Ve Dennis bir müjdeci oldu. Sonra C olarak adlandırılacak daha yüksek seviyeli bir dilde yeniden yazma vardı. Çoğunlukla dil ve I/O sistemi üzerinde çalıştı ve ben de işletim sisteminin geri kalanı üzerinde çalıştım. Bu şans eseri PDP-11 içindi, çünkü akademik camiayı etkisi altına alan bir bilgisayardı.

Thompson'un Unix geliştirmesinden gelen geri bildirimler, C programlama dilinin geliştirilmesinde de etkili oldu. Thompson daha sonra C dilinin "sistemin gözden geçirme ve düzeltme işlemleriyle biriyle gelişti bu nedenle sistem programlama için mükemmel hale geldi" diyecektir.

1975'te Thompson, Bell Labs'tan maaşlı bir izin aldı ve mezun olduğu UC Berkeley'e gitti. Orada, Sürüm 6 Unix'in bir PDP-11/70 bilgisayara kurulmasına yardım etti. Berkeley'deki Unix daha sonra Berkeley Yazılım Dağıtımı (BSD) olarak bilinen Berkeley'in kendi sistemi olarak devam etti.

Ken Thompson, Unix'in (1971) ilk sürümü için "chess" adlı bir satranç oynama programı yazdı. Daha sonra Thompson, Joseph Condon ile birlikte donanım destekli dünya şampiyonu satranç bilgisayarı Belle'yi geliştirdi. Ayrıca satranç oyun sonlarının eksiksiz bir listesini oluşturmak için oyun sonu tabloları olarak da bilinen programlar yazdı ve bilgisayarın tüm 4, 5 ve 6 taşlı oyun sonları için, satranç oynayan bilgisayar programlarının içinde kayıtlı bir konuma ulaşıldığında "mükemmel" hareketler yapmasına izin verir. Daha sonra, satranç oyun sonu uzmanı John Roycroft'un yardımıyla Thompson ilk sonuçlarını CD-ROM'da dağıttı. 2001 yılında, ICGA Journal dergisi neredeyse bir sayının tamamını Ken Thompson'ın bilgisayar satrancına yaptığı çeşitli katkılara ayırdı.

Bell Labs'tan Plan 9, Acme metin düzenleyicisini ve rc kabuğunu çalıştırırken

1980'ler boyunca, Thompson ve Ritchie, Unix Araştırmaları üzerinde çalışmaya devam etti. 1980'lerin ortalarında, Bell Labs'da Unix'in yerini alacak yeni bir işletim sistemi üzerinde çalışma başladı. Thompson, Unix'in ilkelerini kullanan yeni bir işletim sistemi olan Bell Labs'ın Plan 9'un tasarımında ve uygulanmasında etkili oldu, ancak bunları daha geniş bir şekilde tüm büyük sistem tesislerine uyguladı. Araştırma Unix'in sonraki sürümlerinin parçası olan mk ve rc gibi bazı programlar da Plan 9'a dahil edildi.

Thompson, Bjarne Stroustrup için C++ programlama dilinin ilk sürümlerini içinde programlar yazarak test etti, ancak daha sonra sürümler arasındaki sık uyumsuzluklar nedeniyle C++ ile çalışmayı reddetti. Thompson, 2009 yılında yapılan bir röportajda, C++ ile ilgili olumsuz bir görüş ifade ederek, "Pek çok şeyi yarı iyi yapar ve sadece birbirini dışlayan bir fikirler yığınıdır." demiştir.[1]

1992'de Thompson, Rob Pike ile birlikte UTF-8 kodlama şemasını geliştirdi. UTF-8 kodlaması, o zamandan beri World Wide Web için baskın karakter kodlaması haline geldi ve 2019'da tüm web sayfalarının %90'ından fazlasını oluşturdu. 1990'larda, taşınabilir bir sanal makineye dayanan başka bir araştırma işletim sistemi olan Inferno işletim sistemi üzerinde çalışmalar başladı. Thompson ve Ritchie, Bell Labs'taki diğer araştırmacılarla birlikte Inferno ile işbirliğine devam etti.

2000 yılının sonlarında, Thompson, Bell Labs'tan emekli oldu. 2006 yılına kadar Entrisphere Inc.'de üye olarak çalıştı ve şu anda Google'da Seçkin Mühendis olarak çalışıyor. Son çalışmalar, Go programlama dilinin ortak tasarımını içeriyor. Go'nun diğer orijinal yazarlarıyla birlikte kendisine atıfta bulunarak şöyle der:

Üçümüz [Thompson, Rob Pike ve Robert Griesemer] başladığımızda, bu saf bir araştırmaydı. Üçümüz bir araya geldik ve C++'dan nefret ettiğimize karar verdik. [kahkahalar] ... [yeniden Go'dan bahsediyor], dildeki her özellik hakkında üçümüzün de konuşması gerektiği fikriyle yola çıktık. Bu yüzden herhangi bir nedenle dile dışarıdan gelen gereksiz özellik konulmadı.

2009'daki başka bir röportajına göre, Thompson artık Linux tabanlı bir işletim sistemi kullanıyor.[1]

Ulusal Akademiler

[değiştir | kaynağı değiştir]

1980'de Thompson, verimliliği, genişliği, gücü ve stili bir neslin mini bilgisayarlardan yararlanmasına rehberlik eden bir işletim sistemi olan UNIX'i tasarladığı için Ulusal Mühendislik Akademisi'ne seçildi.[6] 1985'te Ulusal Bilimler Akademisi (NAS) üyeliğine seçildi.[7]

Turing Ödülü

[değiştir | kaynağı değiştir]

1983'te Thompson ve Ritchie, "genel işletim sistemleri teorisini geliştirmeleri ve özellikle UNIX işletim sisteminin uygulanması" için Turing Ödülü'nü birlikte aldı. Kabul konuşması "Reflections on Trusting Trust"(Güvene Güvenmek Üzerine Düşünceler)'idi.[8]

IEEE Richard W. Hamming Madalyası

[değiştir | kaynağı değiştir]

1990'da hem Thompson hem de Dennis Ritchie, Elektrik ve Elektronik Mühendisleri Enstitüsü'nden (IEEE) "UNIX işletim sistemi ve C programlama dilinin oluşturulması" dolayısıyla IEEE Richard W. Hamming Madalyası'nı aldı.[9]

Bilgisayar Tarihi Müzesi Üyesi

[değiştir | kaynağı değiştir]

1997'de hem Thompson hem de Ritchie, "UNIX işletim sisteminin birlikte oluşturulması ve C programlama dilinin geliştirilmesi" için Bilgisayar Tarihi Müzesi Üyesi olarak kabul edildi.[10]

Ulusal Teknoloji Madalyası

[değiştir | kaynağı değiştir]

27 Nisan 1999'da Thompson ve Ritchie, birlikte bilgisayar donanımı, yazılımı ve ağ iletişiminde muazzam ilerlemelere yol açan UNIX işletim sistemi ve C programlama dilini birlikte icat ettikleri için Başkan Bill Clinton'dan 1998 Ulusal Teknoloji Madalyası'nı birlikte aldı. sistemleri ve tüm bir endüstrinin büyümesini teşvik etti, böylece Bilgi Çağında Amerikan liderliğini güçlendirdi.[11]

Tsutomu Kanai Ödülü

[değiştir | kaynağı değiştir]

1999 yılında, Elektrik ve Elektronik Mühendisleri Enstitüsü, Thompson'ı "onlarca yıldır dağıtılmış sistemler çalışması için kilit bir platform olan UNIX işletim sistemini yaratmadaki rolü" nedeniyle ilk Tsutomu Kanai Ödülünü almaya seçti.[12]

Japonya Ödülü

[değiştir | kaynağı değiştir]

2011 yılında, Thompson, Dennis Ritchie ile birlikte, Unix işletim sisteminin geliştirilmesindeki öncü çalışmalardan dolayı Japonya Bilgi ve İletişim Ödülü'ne layık görüldü.[12]

Ken Thompson evli ve bir oğlu var.[13][14]

  1. ^ a b c Coders at Work: Reflections on the Craft of Programming (İngilizce). Apress. 14 Temmuz 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 25 Eylül 2020. 
  2. ^ "berkeley.edu/~berlek/students.html". 29 Ağustos 2000 tarihinde kaynağından arşivlendi. Erişim tarihi: 25 Eylül 2020. 
  3. ^ "linfo.org/thompson". 10 Ekim 2011 tarihinde kaynağından arşivlendi. Erişim tarihi: 25 Eylül 2020. 
  4. ^ Ritchie, Dennis M. (2001). "Space Travel: Exploring the solar system and the PDP-7". Bell Labs. 26 Aralık 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 4 Şubat 2016. 
  5. ^ Dennis M. Ritchie. "The Development of the C Language". Bell Labs/Lucent Technologies. 11 Haziran 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 31 Ekim 2016. 
  6. ^ "nae.edu/MembersSection/Directory20412/28454.aspx". 1 Kasım 2010 tarihinde kaynağından arşivlendi. Erişim tarihi: 25 Eylül 2020. 
  7. ^ "nasonline.org/member-directory/members/49764.html". 24 Mart 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 25 Eylül 2020. 
  8. ^ "Reflections on trusting trust". 2 Ocak 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 25 Eylül 2020. 
  9. ^ "www.ieee.org/documents/hamming_rl.pdf" (PDF). 12 Haziran 2015 tarihinde kaynağından (PDF) arşivlendi. Erişim tarihi: 25 Eylül 2020. 
  10. ^ "computerhistory.org/profile/ken-thompson/". 8 Ekim 2020 tarihinde kaynağından arşivlendi. 
  11. ^ "sciencedaily.com/releases/1998/12/". 16 Nisan 2002 tarihinde kaynağından arşivlendi. Erişim tarihi: 25 Eylül 2020. 
  12. ^ a b "bell-labs.com/news/1999/march/25/1". 8 Ekim 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 25 Eylül 2020. 
  13. ^ "ken-games". 1 Haziran 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 25 Eylül 2020. 
  14. ^ "linfo.org". 10 Ekim 2011 tarihinde kaynağından arşivlendi. Erişim tarihi: 25 Eylül 2020. 

Dış bağlantılar

[değiştir | kaynağı değiştir]